// components/template/template.js
var app = getApp();
const d = new Date();
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    propItem: {
      type: Object,
      value: {}
    },
    propNameAlert: {
      type: String,
      value: '编辑模板'
    },
  },
  options: {
    multipleSlots: true, //启用多slot支持
  },

  /**
   * 组件的初始数据
   */
  data: {
    editIcon: '/images/edit.png',
    deleteIcon: '/images/del.png',
    selectIcon: '/images/select_icon.png',
    dateIcon: '/images/date_time.png',
    limit: ['选择日期', '永久有效'],
    isShow: false,
    nameAlert: '编辑价格模板',
    edit: {},
    today: `${d.getFullYear()}-${d.getMonth()+1}-${d.getDate()}`
  },

  ready() {

    this.setData({
      edit: this.data.propItem
    })
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //期限选择
    limitChange(e) {
      //console.log(e.detail.value)
      let index = parseInt(e.detail.value) + 1;
      this.setData({
        'propItem.template_type': index
      })
      var propItem = {} // detail对象，提供给事件监听函数
      var tabsChangeOption = {} // 触发事件的选项
      propItem = this.data.propItem;
      this.triggerEvent('limitChange', {
        propItem,
        isEdit: true
      }, tabsChangeOption)
    },
    //选择开始时间
    startTimeChange(e) {
      this.setData({
        'propItem.start_time': e.detail.value
      })
      var propItem = {} // detail对象，提供给事件监听函数
      var tabsChangeOption = {} // 触发事件的选项
      propItem = this.data.propItem;
      this.triggerEvent('limitChange', {
        propItem,
        isEdit: true
      }, tabsChangeOption)
    },
    //选择结束时间
    endTimeChange(e) {
      var start_time = new Date(this.data.propItem.start_time).getTime();
      var end_time = new Date(e.detail.value).getTime();
      if (end_time < start_time) {
        app.showToast('结束时间不能小于开始时间');
        return false;
      }
      this.setData({
        'propItem.end_time': e.detail.value
      })
      var propItem = {} // detail对象，提供给事件监听函数
      var tabsChangeOption = {} // 触发事件的选项
      propItem = this.data.propItem;

      if (propItem.end_time < propItem.start_time) {
        app.showToast('结束时间不能小于开始时间');
        return false;
      }
      this.triggerEvent('limitChange', {
        propItem,
        isEdit: true
      }, tabsChangeOption)
    },
    //删除模板
    delete(e) {
      var that = this
      wx.showModal({
        content: '是否删除模板?',
        confirmText: '是',
        cancelText: '否',
        success: function (res) {
          console.log(res)
          if (res.confirm) {
            that.setData({
              'propItem.is_delete': true
            })
            var propItem = {} // detail对象，提供给事件监听函数
            var tabsChangeOption = {} // 触发事件的选项
            propItem = that.data.propItem;
            that.triggerEvent('limitChange', {
              propItem,
              isDelete: true,
              isEdit: true
            }, tabsChangeOption)
          }
        },
      })
    },
    //是否启用
    statusChange(e) {
      // console.log(e)
      this.setData({
        'propItem.template_status': e.detail.template_status
      })
      // console.log(this.data.propItem);
      var propItem = {} // detail对象，提供给事件监听函数
      var tabsChangeOption = {} // 触发事件的选项
      propItem = this.data.propItem;
      this.triggerEvent('limitChange', {
        propItem,
        isStatus: true
      }, tabsChangeOption)
    },
    //编辑模板
    edit(e) {
      let isShow = !(this.data.isShow);
      this.setData({
        isShow: isShow
      })
    },
    //编辑模板标题
    editTitle(e) {
      this.setData({
        'edit.template_title': e.detail.value
      })
    },


    //编辑模板标题
    editList(e) {
      let key = e.target.dataset.key;
      let name = e.target.dataset.name;
      let tag = 'edit.template.' + key + '.' + name;
      console.log(e.detail.value, "value")

      console.log(tag)
      this.setData({
        [tag]: e.detail.value
      })
    },
    //是否保存
    btnChange(e) {
      console.log(e.detail.btns.type);
      this.setData({
        isShow: e.detail.btns.isShow
      })
      if (e.detail.btns.type == 'cancel') {

      } else if (e.detail.btns.type == 'confirm') {
        this.setData({
          isShow: e.detail.btns.isShow,
          propItem: this.data.edit
        })
        var propItem = {} // detail对象，提供给事件监听函数
        var tabsChangeOption = {} // 触发事件的选项
        //propItem = this.data.propItem;
        propItem = this.data.edit;
        this.triggerEvent('limitChange', {
          propItem,
          isEdit: true
        }, tabsChangeOption)
      }
    }
  }
})